package com.crm.service;

import com.crm.constant.dto.BaseFxResponse;
import com.crm.entity.CrmProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.crm.model.bo.ProjectBo;
import com.crm.model.bo.ProjectPageBo;
import com.crm.model.dto.BasePageResult;
import com.crm.model.vo.ProjectItemVo;
import com.crm.model.vo.ProjectReportVo;
import com.crm.model.vo.ProjectVo;
import com.crm.model.vo.ReportCountVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author CRM_SYSTEM
 * @since 2022-03-30
 */
public interface ICrmProjectService extends IService<CrmProject> {

    BaseFxResponse<Long> saveProject(ProjectBo projectBo);

    BaseFxResponse<ProjectVo> queryPorById(Long id);

    BaseFxResponse<BasePageResult<ProjectVo>> queryPage(ProjectPageBo pageBo);

    BaseFxResponse<Long> updateProject(ProjectBo projectBo);

    BaseFxResponse<Long> updateProjectStatus(Long projectId, Integer status);

    void projectStatusJob();

    List<ReportCountVo> projectMonth(Integer code);

    List<ReportCountVo> projectCount();
}
